﻿using  Might.Infrastructure.ModelicaDOM.Modifications;
using  Might.Infrastructure.DOM;

namespace Might.Infrastructure.ModelicaDOM {
    
    /// <summary>
    /// Declaration of inheritance in Modelica class
    /// </summary>
    [ContainedChild(GroupNames.Annotations,typeof( IDomNode))]	
	[ContainedChild(GroupNames.ModelicaComponentModification,typeof( IComponentModification))]
	[ContainedChild(GroupNames.ModelicaComponentRedefinition,typeof( IComponentRedefinition))]
    [ContainedChild(GroupNames.ModelicaClassRedefinition, typeof(IClassRedefinition))]
    [ContainedReference(ReferenceNames.BaseClassReference)]
    public interface IInheritanceDeclaration {
        
        /// <summary>
        /// Specifies whether the inheritance declaration is implied by short class definition
        /// </summary>
        bool IsFromShortClassDef { get; set; }

        Visibility Visibility { get; set; }                        
        
    }
}
